#ifndef SSIUPDATETASK_H_
#define SSIUPDATETASK_H_

#include "Task.h"

namespace Impp
{

enum SsiUpdateType{
	SSI_UPDATE_RENAME_BUDDY,
	SSI_UPDATE_ADD_BUDDY,
	SSI_UPDATE_REMOVE_BUDY,
	SSI_UPDATE_MOVE_BUDDY,
	SSI_UPDATE_ADD_TO_PRIVACY_LIST,
	SSI_UPDATE_REMOVE_FROM_PRIVACY_LIST
};

class SsiUpdateTask : public Task
{
private:
	Buddy* buddy;
	SsiUpdateType type;
	int privacyList;

public:
	SsiUpdateTask(Oscar* oscar, Buddy* buddy,const qword  & requestId,const SsiUpdateType & type, const int & list = BUDDY_PRIVACY_NOLIST);
	virtual ~SsiUpdateTask();

	void timedOut();
	bool ssiXModXAck(word code);
};

}

#endif /*SSIUPDATETASK_H_*/
